package com.zhida.smartcontrol.pagectrl.lampmanager.doublelamp;

import com.zhida.smartcontrol.common.bean.LampSwitchBean;
import com.zhida.smartcontrol.mvp.BasePresenterImpl;

import java.util.ArrayList;
import java.util.List;

/**
 * author: tanjianpei
 * date: 2019/10/17 017 15:11
 * description:
 */

public class DoubleLampPresenter extends BasePresenterImpl<DoubleLampContract.View> implements DoubleLampContract.Presenter {

    @Override
    public void checkData(List<LampSwitchBean> sourceList, int type) {
        boolean checked = true;
        List<LampSwitchBean> beanList = new ArrayList<>();
        for (LampSwitchBean bean : sourceList) {
            if (bean.isCheckMain() && bean.isCheckAux()) {
                beanList.add(bean);
            } else if (bean.isCheckMain() && !bean.isCheckAux()) {
                beanList.add(bean);
            } else if (!bean.isCheckMain() && bean.isCheckAux()) {
                beanList.add(bean);
            }
            for (LampSwitchBean switchBean : beanList) {
                if (switchBean.isCheckMain() && !switchBean.isCheckAux() && !bean.isCheckMain() && bean.isCheckAux()) {
                    checked = false;
                    beanList.clear();
                    break;
                } else if (!switchBean.isCheckMain() && switchBean.isCheckAux() && bean.isCheckMain() && !bean.isCheckAux()) {
                    checked = false;
                    beanList.clear();
                    break;
                } else if (switchBean.isCheck() && (bean.isCheckMain() && !bean.isCheckAux() || !bean.isCheckMain() && bean.isCheckAux())) {
                    checked = false;
                    beanList.clear();
                    break;
                } else if (bean.isCheck() && ((switchBean.isCheckMain() && !switchBean.isCheckAux() || !switchBean.isCheckMain() && switchBean.isCheckAux()))) {
                    checked = false;
                    beanList.clear();
                    break;
                }
            }
            if (!checked) {
                break;
            }

        }

        if (beanList.size() > 0) {
            mView.checkDataOk(type, beanList);
        } else {
            if (checked) {
                mView.showMsg("请选择要操作的双灯");
            } else {
                mView.showMsg("主辅灯不能混选，请重新选择");
            }
        }
    }


}
